package com.newzqxq.common.utils;

import org.apache.commons.lang3.RandomStringUtils;

import java.util.Random;

/**
 * ClassName：RandomUtils
 * Description：随机数工具类
 * Author：叶孤城
 * Created：2017/3/28
 */
public class RandomUtils {

    private static String base = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";

    /**
     * 生成指定长度的随机int型数字
     * @return
     */
    public static final int genRandomInt(int length) {
        return Integer.valueOf(RandomStringUtils.randomNumeric(length));
    }

    /**
     * 生成指定长度的随机long型数字
     * @return
     */
    public static final long genRandomLong(int length) {
        return Long.valueOf(RandomStringUtils.randomNumeric(length));
    }

    /**
     * 生成指定长度的随机字符串
     * @param length
     * @return
     */
    public static final String genRandomString(int length) {
        return RandomStringUtils.random(length, base);
    }

    /**
     * 获取制定长度的整型字符串
     * @param strLength
     * @return
     */
    public static String getFixLenthString(int strLength) {

        Random rm = new Random();

        // 获得随机数
        double pross = (1 + rm.nextDouble()) * Math.pow(10, strLength);

        // 将获得的获得随机数转化为字符串
        String fixLenthString = String.valueOf(pross);

        // 返回固定的长度的随机数
        return fixLenthString.substring(1, strLength + 1);
    }
}
